\section{General Design Patterns}

There are a handful of very fundamental design patterns that are useful and
practical for any software system, not just distributed systems. In Coursebook,
we utilize the singleton, iterator, and command design patterns.

\input{iterator}
\input{singleton}
\input{command}
